$(function () {
    // 先渲染一次
    load();
    // 按下回车的时候先取数据修改数据再存数据
    $("#title").on("keydown", function (e) {
        if (e.keyCode === 13 && $(this).val().length > 0) {
            // 取数据
            var datas = getData();
            // 修改数据
            datas.push({ title: $(this).val(), done: false });
            // 存数据
            setData(datas);
            // 渲染
            load();
            $(this).val("");
        }
    })

    // 删除操作
    $("ol,ul").on("click", "a", function () {
        // 取数据
        var datas = getData();
        // 获取a的索引号 在后面动态生成li的时候给a添加自定义属性
        var index = $(this).data("index");
        // 点击a时删除 删除相对应索引号的本地储存的数据
        datas.splice(index, 1);
        // 存数据
        setData(datas);
        // 再次渲染
        load();
    })

    // 勾选复选框 改变状态
    $("ol,ul").on("click", "input", function () {
        // 取数据
        var datas = getData();
        // 获取索引号
        var index = $(this).siblings("a").data("index");
        // 当前复选框状态赋值给done
        datas[index].done = $(this).prop("checked");
        // 存数据
        setData(datas);
        // 渲染
        load();
    })

    // 一键删除
    $("button").on("click", function () {
        var datas = getData();
        datas = [];
        setData(datas);
        load();
    })

    // 取数据函数
    function getData() {
        var data = localStorage.getItem("todolist");
        if (data !== null) {
            return JSON.parse(data);
        } else {
            return [];
        }
    }

    // 存数据函数
    function setData(data) {
        localStorage.setItem("todolist", JSON.stringify(data));
    }

    // 渲染函数
    function load() {
        // 获取数据
        var datas = getData();
        $("ol,ul").empty();
        var todocount = 0;
        var donecount = 0;
        // 遍历数据
        $.each(datas, function (index, element) {
            if (element.done) {
                $("ul").prepend("<li> <input type='checkbox' checked /> <p>" + element.title + "</p> <a data-index='" + index + "' href='javascript:;'></a> </li>")
                donecount++;
            } else {

                $("ol").prepend("<li> <input type='checkbox' /> <p>" + element.title + "</p> <a data-index='" + index + "' href='javascript:;'></a> </li>")
                todocount++;
            }
        })
        $("#todocount").text(todocount);
        $("#donecount").text(donecount);
    }







})